The present invention relates to Hybrid Automatic Repeat Request (HARQ) communication systems. More particularly, the present invention relates to a method for managing memory using Hybrid Automatic Repeat Request (HARQ) in a communication system.
In communication systems, data is transmitted between a transmitter and a receiver in form of bursts. To improve the quality of the data being received, error control techniques, such as, Forward Error Correction (FEC) and Automatic Repeat Request (ARQ) are used. The object of ARQ is to increase the reliability of data transmission, while FEC techniques fix errors using an error correction code. HARQ uses each of FEC and ARQ for increasing reliability of data transmitted and to further enhance data throughput rates.
In conventional HARQ communication systems, the receiver on receiving a burst stores the bursts in a memory. An FEC decoder in the receiver performs an error correction decoding and transmission error check on each burst. Examples of the transmission error check, may include, but are not limited to, Cyclic Redundancy Check (CRC). The burst may be self-decodable, which may not require error correction decoding. If each bit in the burst is error free, then ARQ facilitates sending of an Acknowledgement (ACK) to the transmitter. However, if one or more bits in the burst have error, then a Negative Acknowledgement (NACK) is sent to the transmitter.
If a NACK is received for a burst, the transmitter sends a retransmission for the burst. The receiver may soft combine the retransmission with the burst to generate a combined burst. A Signal/Noise (S/N) ratio of each bit in the combined burst is higher than the S/N ratio of a corresponding bit in each of the burst and the retransmission for the burst. A transmission error check is performed on the combined burst and if one or more bits in the combined burst have error, then a NACK is sent to the transmitter for the retransmitted burst. This is repeated until a burst in which each bit is error free is generated or until the maximum number of retransmissions is reached. Moreover, several bursts are transmitted simultaneously from the transmitter. Additionally, several ACK/NACK are received by transmitter, which retransmits a burst for every corresponding NACK.
As a result, a large amount of memory is required for storing bursts and their corresponding retransmissions. The older bursts cannot be stored for longer duration of time as memory space required for storing the retransmissions often leads to space constraints. Additionally, typical H-ARQ memory management schemes uses a fixed number of queues for data transfer and each such queue has a fixed size corresponding to maximum possible burst size. This may lead to fragmentation of memory space, which may require considerable amount of system resources for de-fragmentation. Moreover, fixed number of queues and their fixed size limits the number of bursts to be sent across at a particular instance and the size of each burst to be sent across to the receiver. Further, the number of retransmissions that can be sent are restricted.
There is therefore a need for methods and systems for efficient memory management in an HARQ system which enables unlimited retransmissions.